package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.organization.util.Merchant;
import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 卡种类绑定商户（CardClassicBindMerchant）
 */
@Remote
@Local
public interface CardClassicBindMerchantDao {

	/**
	 * 根据卡种类ID检索绑定的所有商户
	 * 
	 * @param cardClassid
	 * @return
	 */
	public List<CardClassicBindMerchant> getAllBindMerchantByCardClassicId(
			BigInteger cardClassid);

	/**
	 * 根据商户号查询
	 * 
	 * @param merchantNo
	 * @return
	 */
	public List<CardClassicBindMerchant> getCardClassicBindMerchatListByMerchantNo(
			String merchantNo);

	/**
	 * 新增
	 * 
	 * @param ccbm
	 * @throws PCPSApplicationException
	 */
	public void insertCardClassicBindMerchant(CardClassicBindMerchant ccbm)
			throws PCPSApplicationException;

	/**
	 * 插入新的绑定关系
	 * 
	 * @param CardClassicBindMerchant
	 *            对象
	 * @throws PCPSApplicationException
	 */
	public void insertCardClassicBindMerchant(String merchantNo,
			BigInteger[] arrInt) throws PCPSApplicationException;

	/**
	 * 删除绑定关系
	 */
	public void deleteCardClassicBindMerchant(String merchantNo)
			throws PCPSApplicationException;

	/**
	 * 根据卡种类查询商户列表
	 * 
	 * @param webInput
	 * @param cardClassid
	 * @return
	 */
	public List<Merchant> getMerchantListByCardClassicId(PCPSWebInput webInput,
			BigInteger cardClassid, Integer page);

	/**
	 * 根据卡种类查询商户记录数
	 * 
	 * @param webInput
	 * @param cardClassid
	 * @return
	 */
	public BigInteger getMerchantTotalByCardClassicId(PCPSWebInput webInput,
			BigInteger cardClassid);
}
